1
Planos para código genérico
AI037Lesson 18
00:00

Imagina que eres un arquitecto. En lugar de dibujar un plano fijo para una sola casa de ladrillo, diseñas un plano maestro plano capaz de adaptarse a madera, acero o vidrio. En C++, esto es Programación genérica.

1. El mecanismo del plano

Una lista de parámetros de plantilla (por ejemplo, plantilla <typename T>) introduce marcadores de posición llamados parámetros de tipo de plantilla. Estos actúan como variables para tipos. Por ejemplo, en plantilla <typename T> ostream &print(ostream &os, const T &obj), T se determina solo cuando se llama a la función.

2. Instanciación

El compilador no compila la plantilla en sí misma en código máquina. En cambio, instanciación ocurre: el compilador genera una versión específica del código solo cuando se proporciona un argumento de plantilla es proporcionado. Debido a esto, las definiciones normalmente deben residir en archivos de encabezado.

Planocomparar<T>comparar(int)comparar(vector)Error: Sales_data

3. Escribir código independiente de tipo

Para maximizar la reutilización, sigue la Mejor práctica: minimiza los requisitos. Escribir el código usando solo el < operador (mediante menor<T>) reduce los requisitos sobre los tipos en comparación con usar >, <=, y >=. La validación a menudo se retrasa; el compilador generalmente no puede encontrar muchos errores en la etapa de compilación de la plantilla misma; la mayoría aparecen durante la instanciación.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>